package edu.ues21.tcs.ecommerce2011.mvc.model;

/**
*
* @author eandre fmantaras
*/

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;



@Entity
@Table(name = "Usuario")
public class Usuario extends AbstractUser{

	@Id
	@Column(name = "nombreUsuario")
	private String nombreUsuario;

	@Column(name = "password")
	private String password;
	
	@Column(name = "dni")
	private Integer dni;

	@Column(name = "nombre")
	private String nombre;
	
	@Column(name = "apellido")
	private String apellido;
	
	@Column(name = "email")
	private String email;
		
	@ManyToOne
    @JoinColumn(name = "cliente")
	private Cliente cliente;
	
	public Usuario() {
            this(null,null,null,null,null,null,null);
	}

	public Usuario(String nombreUsuario, String password, Integer dni,
			String nombre, String apellido, String email, Cliente cliente) {
		super(UserType.USER);
		this.nombreUsuario = nombreUsuario;
		this.password = password;
		this.dni = dni;
		this.nombre = nombre;
		this.apellido = apellido;
		this.email = email;
		this.cliente = cliente;
	}

	public String getNombreUsuario() {
		return nombreUsuario;
	}

	public void setNombreUsuario(String nombreUsuario) {
		this.nombreUsuario = nombreUsuario;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Integer getDni() {
		return dni;
	}

	public void setDni(Integer dni) {
		this.dni = dni;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getApellido() {
		return apellido;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	@Override
	public String toString() {
		return "Usuario [nombreUsuario=" + nombreUsuario + ", password="
				+ password + ", dni=" + dni + ", nombre=" + nombre
				+ ", apellido=" + apellido + ", email=" + email + ", cliente="
				+ cliente.getRazonSocial() + "]";
	}


}
